home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / dora / doraview.plp < prev    next >
Text File  |  1993-11-30  |  31KB  |  1,164 lines

  1. /************************************************************************
  2. *    共通処理ルーチン                        *
  3. *************************************************************************/
  4. /*    ディクトリ一覧表示からの指定ファイル名取り出し    */
  5. %PickFile{
  6.     LineNo:= @xlinenum;
  7.     MemoLine:=@nolmemo(memono)-1;
  8.     line1:=    @case    (LineNo>MemoLine,
  9.             {Yes},
  10.             {im(@memo(memono,MemoLine,1))},
  11.             {No},
  12.             {
  13.             case    (LineNo<=0,
  14.                 {Yes},    {im(@memo(memono,1,1))},
  15.                 {No},    {im(@memo(memono,LineNo,1))}
  16.                 );
  17.             });
  18.     case    (@getchar(line1,10,3)<>{   },
  19.         {Yes},
  20.         {file1:=@subdir(logdir,@head(@getchar(line1,1,8),{ })|{.}|
  21.                     @head(@getchar(line1,10,3),{ }))},
  22.         {No},
  23.         {file1:=@subdir(logdir,@head(@getchar(line1,1,8),{ }))}
  24.         );
  25.     };
  26.  
  27. /*    ログ参照メイン処理    */
  28. %ViewLOG{
  29.     [logdir,memono]
  30.     fn:=@tail(logdir,{\});
  31.     InactMemo;
  32.     loop    ({
  33.         dispoff(!DEBUG);
  34.         command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  35.         dispoff({No});
  36.         %lineno @noline(@read(TEMP2|{_mopdir.tmp}));
  37.         case    ((@nochar(logdir)!=3&&lineno>9)||
  38.             (@nochar(logdir)==3&&lineno>7),
  39.             {Yes},
  40.             {
  41.             case    (Btitle={Yes},
  42.                 {Yes},
  43.                 {
  44.                 case    (@filechk(LOG2|{board\title.txt}),
  45.                     {Yes},{Viewlog2},
  46.                     {No},
  47.                     {footnote({title.txtが見つかりません});
  48.                     wait(2);Viewlog1})
  49.                 },
  50.                 {No},{Viewlog1})
  51.             },
  52.             {No},{display(logdir|{ は空です\n});im({No})}
  53.             );
  54.         });
  55.     /* ログ参照に使用したメモの削除処理 */
  56.     loop    ({case    (@mlast>=memono,
  57.             {Yes},
  58.             {
  59.             case    (@mcheck==0,{Yes},{mopen(@mlast)});
  60.             case    (@mcheck>=memono,{Yes},{mclose(3)},
  61.                 {No},{mclose(1)}
  62.                 );
  63.             im({Yes});
  64.             },
  65.             {No},{im({No})}
  66.             );
  67.         });
  68.     setcdir(CDIR)
  69.     };
  70. /* 1ログファイルの表示処理 */
  71. %Select1{
  72.     PickFile;
  73.     case(@body(line1,{<},{>})={DIR},
  74.         {Yes},
  75.         {
  76.         ViewLOG(@subdir(logdir,@head(@getchar(line1,1,8),{ })),
  77.             memono)
  78.         },
  79.         {No},
  80.         {
  81.         case    (@getchar(line1,10,3),
  82.             {LZH},{ViewLZH(@subdir(logdir,@head(@getchar
  83.                 (line1,1,8),{ })),memono)},
  84.             {NAP},{ViewNAP(@subdir(logdir,@head(@getchar
  85.                 (line1,1,8),{ })|{.NAP}),memono)},
  86.             {NPB},{ViewNAP(@subdir(logdir,@head(@getchar
  87.                 (line1,1,8),{ })|{.NPB}),memono)},
  88.             ,
  89.             {
  90.                 case    (@getchar(line1,10,3)<>{   },
  91.                 {Yes},
  92.                 {LOGFILE:=@subdir(logdir,
  93.                 @head(@getchar(line1,1,8),{ })|{.}|
  94.                 @head(@getchar(line1,10,3),{ }))},
  95.                 {No},
  96.                 {LOGFILE:=@subdir(logdir,
  97.                     @head(@getchar(line1,1,8),{ }))}
  98.                 );
  99.                 %m1    memono;
  100.                 InactMemo;
  101.                 case(@mlast>=m1,{Yes},{mclear(m1)});
  102.                 mread(LOGFILE,m1);
  103.                 mopen(m1,0,21,639,459,{w});
  104.                 loop    ({
  105.                     footnote({復帰終了削除更新コメント解石}|
  106.                     {ESC },{b});waitx();
  107.                     case    (@xtype,
  108.                         101,{InactMemo;
  109.                             FLG:={Return};im({No})},
  110.                         201,{InactMemo;
  111.                             FLG:={Return};im({No})},
  112.                         102,{InactMemo;im({No})},
  113.                         202,{InactMemo;im({No})},
  114.                         103,delLOG,    203,delLOG,
  115.                         204,updLOG,    204,updLOG,
  116.                         105,{COMMENT(m1)},
  117.                         205,{COMMENT(m1)},
  118.                         106,ISH,    206,ISH,
  119.                         107,{ESC},
  120.                         207,{ESC},
  121.                         m1,{COMMENT(m1)},
  122.                         ,{im({Yes})}
  123.                         );
  124.                     });
  125.                 });
  126.             });
  127.     case(FLG,{Return},{im({No})},,{im({Yes})});
  128.     };
  129. /* ログファイル名の変更処理 */
  130. %Rename1{
  131.     PickFile;
  132.     footnote({ファイル名を変更しています});
  133.     case(@body(line1,{<},{>})={DIR},
  134.         {Yes},
  135.         {
  136.         footnote({ディレクトリ名は変更できません});
  137.         wait(1);
  138.         },
  139.         {No},
  140.         {
  141.         var file [64];
  142.         case    (@getchar(line1,10,3)<>{   },
  143.             {Yes},
  144.             {file:=@subdir(logdir,
  145.                 @head(@getchar(line1,1,8),{ })|
  146.                 {.}|@head(@getchar(line1,10,3),{ }))},
  147.             {No},{file:=@subdir(logdir,
  148.                 @head(@getchar(line1,1,8),{ }))}
  149.             );
  150.         SNDMSG({nyuryo_f.snd});
  151.         footnote({新しいファイル名を入力して下さい});
  152.         %file2    @input({新しいファイル名を入力して下さい},,
  153.                 @tail(file,{\}));
  154.         case    (file2={}||file2=@tail(file,{\})||@filechk(file2),
  155.             {No},
  156.             {
  157.             footnote({ファイル名を変更しています});
  158.             dispoff(!DEBUG);
  159.             command({rename }|file|{ }|file2);
  160.             command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  161.             dispoff({No});
  162.             InactMemo;
  163.             case(@mlast>=memono,{Yes},{mclear(memono)});
  164.             madd(memono,@read(TEMP2|{_mopdir.tmp},7,lineno-9));
  165.             mopen(memono,0,21,639,459,{r});
  166.             });
  167.         });
  168.     im({Yes});
  169.     };
  170. /* ログファイルの複写処理 */
  171. %Copy1    {
  172.     PickFile;
  173.     footnote({ファイルを複写します});
  174.     case    (@body(line1,{<},{>})={DIR},
  175.         {Yes},
  176.         {
  177.         footnote({ディレクトリは複写できません});
  178.         wait(1);
  179.         },
  180.         {No},
  181.         {
  182.         case    (@getchar(line1,10,3)<>{   },
  183.             {Yes},{LOGFILE:=@subdir(logdir,
  184.                 @head(@getchar(line1,1,8),{ })|
  185.                 {.}|@head(@getchar(line1,10,3),{ }))},
  186.             {No},{LOGFILE:=@subdir(logdir,
  187.                 @head(@getchar(line1,1,8),{ }))}
  188.             );
  189.         SNDMSG({erande_f.snd});
  190.         footnote({複写先のファイルを指定して下さい  複写元=}|LOGFILE);
  191.         %file2    @filesel;
  192.         case    (file2={},
  193.             {No},
  194.             {
  195.             footnote({ファイルを複写します});
  196.             copyfile(LOGFILE,file2);
  197.             });
  198.         });
  199.     im({Yes});
  200.     };
  201. /*     表示中のファイル内のESC制御記号をカットする    */
  202. %ESC    { 
  203.     %cdir    @getcdir;
  204.     footnote({現在表示しているメモNo.}|memono|
  205.     {のESC制御記号をカット中です});
  206.     InactMemo;setcdir(CDIR);delfile(TEMP2|{TEMP.$A$});
  207.     dispoff(!DEBUG);
  208.     delfile(TEMP2|{_escctr.log});mwrite(TEMP2|{_escctr.log},memono);
  209.     command({escctr -d}|TEMP2|{ -K}|TEMP2|{ }|TEMP2|{_escctr.log});
  210.     dispoff({No});
  211.     case    (@filechk(TEMP2|{_escctr.log}),
  212.         {Yes},{mclear(memono);mread(TEMP2|{_escctr.log},memono);
  213.         mopen(memono,0,21,639,459,{w})},
  214.         {No} ,{display({ESCカット機能には ESCCTR.EXE がパスの通った}|
  215.                 {ディレクトリに必要です\n});
  216.         wait(2);mopen(memono,0,21,639,459,{w});mclose(1)});
  217.     setcdir(cdir)};
  218. %ESC2    {%cdir @getcdir;
  219. case    (memono+2=@mlast,
  220.     {Yes},{
  221.     footnote({メモ}|memono+2|{のESC制御記号をカット中です});
  222.     InactMemo;setcdir(CDIR);
  223.     dispoff(!DEBUG);
  224.     delfile(TEMP2|{TEMP.$A$});
  225.     delfile(TEMP2|{_escctr.log});
  226.     mwrite(TEMP2|{_escctr.log},memono+2);
  227.     command({escctr -d}|TEMP2|{ -K}|TEMP2|{ }|TEMP2|{_escctr.log});
  228.     dispoff({No});
  229.     case    (@filechk(TEMP2|{_escctr.log}),
  230.         {Yes},
  231.         {
  232.         mclear(memono+2);
  233.         mread(TEMP2|{_escctr.log},memono+2);
  234.         mopen(memono+2,0,161,639,379);
  235.         %memomax @mlast;
  236.         var    memono1    [2];
  237.         memono1:=memono+2;
  238.         loop    ({
  239.             case(memono1<=memomax,{Yes},{mclose(1);mopen(memono1)});
  240.             memono1:=memono1+1;
  241.             im(memono1<=memomax);
  242.             });
  243.         mclose(1);
  244.         mopen(memono+1,0,241,639,459,{w});
  245.         },
  246.         {No} ,{display({ESCカット機能には ESCCTR.EXE がパスの通った}|
  247.                 {ディレクトリに必要です\n});
  248.         wait(2);mopen(memono,0,21,639,459,{w});mclose(1)});
  249.         },
  250.     {No},{footnote({参照用のファイルをオープンしてからで無いと、}|
  251.                 {この機能は使えません});wait(3);
  252.         });
  253.     setcdir(cdir)
  254.     };
  255. /* *.LZHファイルの解凍処理 */
  256. %Extract1{
  257.     PickFile;
  258.     footnote({圧縮形式ファイルの解凍を行います});
  259.     case    (@getchar(line1,10,3)={LZH},
  260.         {No},
  261.         {
  262.         footnote({圧縮ファイルでないので解凍できません});
  263.         wait(1);
  264.         },
  265.         {Yes},
  266.         {
  267.         var    file    [64];
  268.         file:=@subdir(logdir,@head(@getchar(line1,1,8),{ }));
  269.         %cdir    @getcdir;
  270.         SNDMSG({erande.snd});
  271.         footnote({解凍先のディレクトリに移動して右クリックして下さい});
  272.         filesel;
  273.         footnote({圧縮ファイルを解凍しています});
  274.         InactMemo;
  275.         command({lha x }|file);
  276.         setcdir(cdir);
  277.         dispoff(!DEBUG);
  278.         command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  279.         dispoff({No});
  280.         case(@mlast>=memono,{Yes},{mclear(memono)});
  281.         madd(memono,@read(TEMP2|{_mopdir.tmp},7,lineno-9));
  282.         mopen(memono,0,21,639,459,{r});
  283.         });
  284.     im({Yes});
  285.     };
  286. /* ディレクトリ表示と選択処理 */
  287. %Viewlog1{
  288.     InactMemo;
  289.     case(@mlast>=memono,{Yes},{mclear(memono)});
  290.     case    (@nochar(logdir)==3,
  291.         {Yes},    {madd(memono,@read(TEMP2|{_mopdir.tmp},5,lineno-7))},
  292.         {No},    {madd(memono,@read(TEMP2|{_mopdir.tmp},7,lineno-9))}
  293.         );
  294.     mopen(memono,0,21,639,459,{r});SNDMSG({erande_f.snd});
  295.     footnote({復帰終了選択改名複写解凍},{b});waitx(60);
  296.     case    (@xtype,memono,Select1,
  297.         101,{FLG:={Return};im({No})},
  298.         201,{FLG:={Return};im({No})},
  299.         102,{im({No})},    202,{im({No})},
  300.         103,Select1,    203,Select1,
  301.         104,Rename1,    204,Rename1,
  302.         105,Copy1,    205,Copy1,
  303.         106,Extract1,    206,Extract1,
  304.         ,{im({Yes})}
  305.         );
  306.     };
  307. /* タイトルモードでのディレクトリ表示と選択処理 */
  308. %Viewlog2{
  309.     LOGFILE:=@subdir(logdir,{TITLE.TXT});
  310.     InactMemo;case(@mlast>=memono,{Yes},{mclear(memono)});
  311.         madd(memono,@read(@subdir(logdir,{TITLE.TXT})));
  312.         mopen(memono,0,21,639,459,{r});SNDMSG({erande_f.snd});
  313.     footnote({復帰終了選択ESC },{b});
  314.     waitx(60);
  315.     case    (@xtype,memono,Select2,
  316.         101,{Btitle:={};FLG:={Return};im({No})},
  317.         201,{Btitle:={};FLG:={Return};im({No})},
  318.         102,{Btitle:={};im({No})},202,{Btitle:={};im({No})},
  319.         103,Select2,        203,Select2,
  320.         104,{ESC;updLOG;im({Yes})},
  321.         204,{ESC;updLOG;im({Yes})},
  322.         ,{im({Yes})}
  323.         )
  324.     };
  325. /*    圧縮ファイルの表示処理    */
  326. %ViewLZH{
  327.     [lzhfile,memono]
  328.     fn:=@tail(lzhfile,{\},{.});
  329.     loop    ({
  330.         dispoff(!DEBUG);
  331.         command({LHA }|lzhfile|{>}|TEMP2|{_lzhdir.tmp});
  332.         dispoff({No});
  333.         %lineno @noline(@read(TEMP2|{_lzhdir.tmp}));
  334.         InactMemo;
  335.         case    (lineno>8,{Yes},viewlzh1,
  336.             {No},{display(lzhfile|{ はありません\n});im({No})});
  337.         });
  338.     InactMemo;
  339.     };
  340.  
  341. /* 圧縮1ログファイルの表示処理 */
  342. %select1{
  343.     PickFile;
  344.     %lzhfile1 @getchar(line1,3,12);
  345.     setcdir(TEMP);
  346.     dispoff(!DEBUG);
  347.     command({del }|lzhfile1);
  348.     command({LHA E }|lzhfile|{ }|lzhfile1);
  349.     dispoff({No});
  350.     case(@body(lzhfile1,{.}),
  351.         {NAP},{ViewNAP(TEMP2|lzhfile1,memono)},
  352.         {NPB},{ViewNAP(TEMP2|lzhfile1,memono)},
  353.         ,
  354.         {
  355.         %m1    memono;
  356.         InactMemo;
  357.         case(@mlast>=m1,{Yes},{mclear(m1)});
  358.         LOGFILE:=TEMP2|lzhfile1;
  359.         mread(lzhfile1,m1);
  360.         mopen(m1,0,21,639,459,{w});
  361.         loop    ({
  362.             footnote({復帰終了削除更新コメント解石ESC },{b});
  363.             waitx();
  364.             case    (@xtype,
  365.                 101,{InactMemo;FLG:={Return};im({No})},
  366.                 201,{InactMemo;FLG:={Return};im({No})},
  367.                 102,{InactMemo;im({No})},
  368.                 202,{InactMemo;im({No})},
  369.                 103,delLZH,        203,delLZH,
  370.                 104,updLZH,        204,updLZH,
  371.                 105,{COMMENT(m1)},    205,{COMMENT(m1)},
  372.                 106,ISH,        206,ISH,    
  373.                 107,{ESC},    207,{ESC},
  374.                 m1,{COMMENT(m1)},,{im({Yes})});
  375.             });
  376.         footnote({});
  377.         setcdir(TEMP);
  378.         dispoff(!DEBUG);
  379.         delfile(lzhfile1);
  380.         dispoff({No});
  381.         case(FLG,{Return},{im({No})},,{im({Yes})});
  382.         });
  383.     };
  384.  
  385. /* 圧縮ログファイル名の変更処理 */
  386. %rename1{
  387.     PickFile;
  388.     footnote({ファイル名を変更します});
  389.     var file [64];
  390.     file:=@head(@getchar(line1,3,12),{ });
  391.     SNDMSG({nyuryo_f.snd});footnote({新しいファイル名を入力して下さい});
  392.     %file2    @input({新しいファイル名を入力して下さい},,@tail(file,{\}));
  393.     footnote({ファイル名を変更します});
  394.     case    (file2<>{}&&file2<>file,{Yes},
  395.         {
  396.         setcdir(TEMP);
  397.         dispoff(!DEBUG);
  398.         command({LHA E }|lzhfile|{ }|file);
  399.         command({rename }|file|{ }|file2);
  400.         command({LHA A }|lzhfile|{ }|file2);
  401.         command({LHA D }|lzhfile|{ }|file);
  402.         delfile(file2);
  403.         command({LHA  }|lzhfile|{>}|TEMP2|{_lzhdir.tmp});
  404.         dispoff({No});
  405.         });
  406.     InactMemo;
  407.     case(@mlast>=memono,{Yes},{mclear(memono)});
  408.     madd(memono,@read(TEMP2|{_lzhdir.tmp},6,lineno-8));
  409.     mopen(memono,0,21,639,459,{r});im({Yes});
  410.     };
  411.  
  412. /* 圧縮ログファイルの解凍処理 */
  413. %copy1    {
  414.     PickFile;
  415.     footnote({ファイルを解凍します});
  416.     var file [64];
  417.     file:=@head(@getchar(line1,3,12),{ });SNDMSG({erande_f.snd});
  418.     footnote({解凍先のファイルを指定して下さい});
  419.     %file2    @filesel;footnote({ファイルを解凍します});
  420.     case(file2<>{},{Yes},
  421.         {
  422.         dispoff(!DEBUG);command({LHA E }|lzhfile|{ }|file);
  423.         case(file<>file2 && file2<>{*.*} && file2<>{},
  424.             {Yes},{command({ren }|file|{ }|file2)});
  425.         dispoff({No});
  426.         });
  427.     im({Yes});
  428.     };
  429.  
  430. /* 圧縮ファイル内容の表示と選択処理 */
  431. %viewlzh1{
  432.     case(@mlast>=memono,{Yes},{mclear(memono)});
  433.     madd(memono,@read(TEMP2|{_lzhdir.tmp},6,lineno-8));
  434.     mopen(memono,0,21,639,459,{r});
  435.     SNDMSG({erande_f.snd});
  436.     footnote({復帰終了選択改名解凍},{b});
  437.     waitx(60);
  438.     case    (@xtype,
  439.         101,{FLG:={Return};im({No})},
  440.         201,{FLG:={Return};im({No})},
  441.         102,{im({No})},    202,{im({No})},
  442.         103,select1,    203,select1,
  443.         104,rename1,    204,rename1,
  444.         105,copy1,    205,copy1,
  445.         memono,select1,
  446.         ,{im({Yes})});
  447.     };
  448.  
  449. /* 1ログファイルの表示処理(ボードの場合) */
  450. %Select2{
  451.     var DAY1[24];var DAY2[2];var DAY3[2];var DAY4[2];
  452.     DAY1:=@daylong;DAY2:=@im(@getchar(DAY1,6,2));
  453.     case    (DAY2,
  454.         {01},{DAY3:={12};DAY4:={11}},{02},{DAY3:={01};DAY4:={12}},
  455.         {03},{DAY3:={02};DAY4:={01}},{04},{DAY3:={03};DAY4:={02}},
  456.         {05},{DAY3:={04};DAY4:={03}},{06},{DAY3:={05};DAY4:={04}},
  457.         {07},{DAY3:={06};DAY4:={05}},{08},{DAY3:={07};DAY4:={06}},
  458.         {09},{DAY3:={08};DAY4:={07}},{10},{DAY3:={09};DAY4:={08}},
  459.         {11},{DAY3:={10};DAY4:={09}},{12},{DAY3:={11};DAY4:={10}}
  460.         );
  461.     PickFile;
  462.     %BDlogS{
  463.         %m1    memono;
  464.         InactMemo;
  465.         case(@mlast>=m1,{Yes},{mclear(m1)});
  466.         mread(LOGFILE,m1);
  467.         mopen(m1,0,21,639,459,{w});
  468.         loop    ({
  469.             footnote({復帰終了削除更新コメント解石},{b});
  470.             waitx();
  471.             case(@xtype,
  472.                 101,{Btitle:={};FLG:={Return};im({No})},
  473.                 201,{Btitle:={};FLG:={Return};im({No})},
  474.                 102,{im({No})},    202,{im({No})},
  475.                 103,delLOG,    203,delLOG,
  476.                 104,updLOG,    204,updLOG,
  477.                 105,{COMMENT(m1)},
  478.                 205,{COMMENT(m1)},
  479.                 106,ISH,    206,ISH,
  480.                 m1,{COMMENT(m1)},
  481.                 ,{im({Yes})}
  482.                 );
  483.             });
  484.         };
  485.     LOGFILE:=@im(RTTL2|NET|{_}|DAY2|{.}|@head(@body(line1,{#}),{ }));
  486.     case    (@filechk(LOGFILE),
  487.         {Yes},
  488.         {BDlogS},
  489.         {No},
  490.         {footnote(LOGFILE|{がありません});wait(2);
  491.     LOGFILE:=@im(RTTL2|NET|{_}|DAY3|{.}|@head(@body(line1,{#}),{ }));
  492.         case    (@filechk(LOGFILE),
  493.             {Yes},
  494.             {BDlogS},
  495.             {No},
  496.             {footnote(LOGFILE|{がありません});wait(2);
  497.     LOGFILE:=@im(RTTL2|NET|{_}|DAY4|{.}|@head(@body(line1,{#}),{ }));
  498.             case    (@filechk(LOGFILE),
  499.                 {Yes},
  500.                 {BDlogS},
  501.                 {No},{footnote(LOGFILE|{がありません});wait(2);
  502.                 footnote({RTTLC出力用ディレクトリの}|
  503.                 {設定が正しいかをチェックして下さい})
  504.                 });
  505.             });
  506.         });
  507.     case(FLG,{Return},{im({No})},,{im({Yes})});
  508.     };
  509.  
  510. /* 非圧縮ログファイルの削除処理 */
  511. %delLOG    {
  512.     footnote({ログファイルを削除します});
  513.     SNDMSG({kaknin_f.snd});
  514.     select    ({現在表示しているログファイルを削除します},
  515.         Wtime4,{im({Yes})},
  516.         {  削除する  },
  517.         {
  518.         InactMemo;
  519.         dispoff(!DEBUG);
  520.         delfile(LOGFILE);
  521.         dispoff({No});
  522.         im({No})},
  523.         { 削除しない },{im({Yes})}
  524.         );
  525.     };
  526. /* 非圧縮ログファイルの更新処理 */
  527. %updLOG    {
  528.     footnote({ログファイルを更新します});
  529.     SNDMSG({kaknin_f.snd});
  530.     select    ({現在表示しているログファイルを更新します},
  531.         Wtime4,{im({Yes})},
  532.         {  更新する  },
  533.         {
  534.         InactMemo;
  535.         dispoff(!DEBUG);
  536.         delfile(LOGFILE);
  537.         mwrite(LOGFILE,memono);
  538.         command({dir }|logdir|{>}|TEMP2|{_mopdir.tmp});
  539.         dispoff({No});
  540.         im({No})},
  541.         { 更新しない },{im({Yes})}
  542.         );
  543.     };
  544. /* 圧縮モードのログファイルを削除する */
  545. %delLZH    {
  546.     footnote({ログファイルを削除します});
  547.     SNDMSG({kaknin_f.snd});
  548.     select({現在表示しているログファイルを削除します},
  549.         Wtime4,{im({Yes})},
  550.         {  削除する  },
  551.         {
  552.         InactMemo;
  553.         dispoff(!DEBUG);
  554.         command({LHA D }|lzhfile|{ }|lzhfile1);
  555.         dispoff({No});
  556.         im({No})},
  557.         { 削除しない },{im({Yes})}
  558.         );
  559.     };
  560.  
  561. /* 圧縮モードのログファイルを更新する */
  562. %updLZH    {
  563.     footnote({ログファイルを更新します});SNDMSG({kaknin_f.snd});
  564.     select({現在表示しているログファイルを更新します},
  565.         Wtime4,{im({Yes})},
  566.         {  更新する  },
  567.         {
  568.         InactMemo;
  569.         dispoff(!DEBUG);
  570.         delfile(lzhfile1);
  571.         mwrite(lzhfile1,memono);
  572.         command({LHA U }|lzhfile|{ }|lzhfile1);
  573.         command({LHA }|lzhfile|{>}|TEMP2|{_lzhdir.tmp});
  574.         dispoff({No});
  575.         im({No})
  576.         },
  577.         { 更新しない },{im({Yes})}
  578.         );
  579.     };
  580. /*ISHデータを解石する    */
  581. %ISH    {%cdir    @getcdir;
  582.     footnote({解石ファイルを保存するディレクトリへ移動して右クリックしてください});
  583.     filesel;footnote({ISHデータ解石中});command({ISH }|LOGFILE);
  584.     setcdir(cdir)};
  585. /*    コメント作成処理の振り分け    */
  586. %COMMENT{[memono]
  587.     %LineNo @xlinenum;        /*カーソル位置の行数を返す*/
  588.     %MemoLine @nolmemo(memono)-1;    /*メモの総行数を返す*/
  589.     footnote({少々おまちください});
  590.     %cdir    @getcdir;
  591.     setcdir(CDIR);
  592.     delfile(TEMP2|{_moptxf.tmp});
  593.     setcdir(cdir);
  594.     case    (LineNo>=MemoLine,
  595.          {No},{case    (LineNo<=0,
  596.             {No},{l1:=@getchar(@memo(memono,LineNo,1),1,80)})
  597.         });
  598.     case    (LineNo>MemoLine,{No},{case(LineNo<=1,
  599.             {No},{l2:=@getchar(@memo(memono,LineNo-1,1),1,80)})});
  600.     case    (LineNo>MemoLine,{No},{case(LineNo<=1,
  601.             {No},{l3:=@getchar(@memo(memono,LineNo-3,1),1,80)})});
  602.     case    (LineNo>MemoLine,{No},{case(LineNo<=1,
  603.             {No},{l4:=@getchar(@memo(memono,LineNo+2,1),1,80)})});
  604.         l5:=@getchar(@memo(memono,1,6),1,80);
  605.     case    (@getchar(l1,11,12)={Private mail}||
  606.         @getchar(l1,11,13)={個人宛 お手紙},
  607.         {Yes},{footnote({カーソルを宛先IDに置いて下さい});wait(2)},
  608.         {No},    {
  609.     case    (@getchar(l2,11,12)={Private mail}||
  610.         @getchar(l2,12,14)={メールボックス}||
  611.         @getchar(l2,11,13)={個人宛 お手紙},
  612.         {Yes},    {resMAIL(memono)},
  613.         {No},    {
  614.     case    (@getchar(l1,1,2)={伝}&&@getchar(l1,5,2)={板}||
  615.         @getchar(l1,1,2)={で}&&@getchar(l1,5,2)={ご}||
  616.         @getchar(l1,3,2)={発}&&@getchar(l1,6,2)={言}||
  617.         @getchar(l1,1,1)={G}&&@getchar(l1,6,1)={r}||
  618.         @getchar(l1,1,1)={G}&&@getchar(l1,6,1)={R}||
  619.         @getchar(l1,2,1)={G}&&@getchar(l1,9,1)={:}||
  620.         @getchar(l1,1,1)={G}&&@getchar(l1,8,1)={w},
  621.         {Yes},    {Gather},
  622.         {No},    {
  623.     case    (@getchar(l1,9,4)={最後}&&@getchar(l1,15,4)={一言},
  624.         {Yes},    {LastWard},
  625.         {No},    {
  626.     case    (@getchar(l1,6,1)={B}&&@getchar(l1,25,1)={K},
  627.         {Yes},
  628.         {
  629.         case    (@getchar(l5,1,8)={ファイル},
  630.             {Yes},
  631.             {
  632.             case    (@getchar(@head(l5,{パスワード},{・・・・・}),1,4)
  633.                 ={は設},
  634.                 {Yes},
  635.                 {downDLIB(@getchar(@head(l5,{#},{・・・・・}),1,3)
  636.                 ,NET,@getchar(l1,8,12))},
  637.                 {No},
  638.                 {downDLIB(@getchar(@head(l5,{#},{・・・・・}),1,3)
  639.                 ,@head(l5,{パスワード},{・・・・・}),
  640.                 @getchar(l1,8,12))}
  641.                 )
  642.             },
  643.             {No},{downDLIB(@getchar(@head(l5,{#},{・・・・・}),1,3)
  644.                 ,NET,@getchar(l1,8,12))})
  645.         },
  646.         {No},    {
  647.         
  648.     case    (@getchar(l1,1,2)={ボ}&&@getchar(l1,7,2)={名}||
  649.         @getchar(l1,1,2)={ぼ}&&@getchar(l1,7,2)={名}||
  650.         @getchar(l1,1,1)={S}&&@getchar(l1,6,1)={o},
  651.         {Yes},    {sayMES(memono,@tail(l1,{#},{)}))},
  652.         {No},    {
  653.     case    (@getchar(l1,1,1)={#}&&@getchar(l1,5,1)={ }||
  654.         @getchar(l1,2,1)={#}&&@getchar(l1,6,1)={ },
  655.         {Yes},    {sayMES(memono,@getchar(l1,2,3))},
  656.         {No},    {
  657.     case    (@getchar(l1,1,2)={発}&&@getchar(l1,5,2)={者}||
  658.         @getchar(l1,1,2)={発}&&@getchar(l1,7,2)={者}||
  659.         @getchar(l1,1,2)={書}&&@getchar(l1,7,2)={人}||
  660.         @getchar(l1,1,1)={S}&&@getchar(l1,6,1)={r},
  661.         {Yes},    {resMES},
  662.         {No},    {footnote({カーソルをボード名 又は 発言者行に置いて}|
  663.         {下さい。});
  664.             wait(2)}
  665.         )}    )}    )}    )}    )}    )}    )});
  666.     im({Yes})};
  667.  
  668. /*    コメント作成処理    */
  669. %MAKEcom{
  670.     footnote({コメントを作成します});
  671.     OpenMemo;
  672.     loop    ({
  673.         footnote({終了取消参照清書参ES},{b});
  674.         waitx();
  675.         case    (@xtype,
  676.             101,{savememo},    201,{savememo},
  677.             102,{cancel},    202,{cancel},
  678.             103,{newmemo},    203,{newmemo},
  679.             104,{rewrite},    204,{rewrite},
  680.             105,ESC2,    205,ESC2,
  681.             ,{im({Yes})}
  682.             );
  683.         });
  684.     };
  685. /*    アップ用文書作成用メモをオープンする    */
  686. %OpenMemo{
  687.     InactMemo;
  688.     mopen(memono,0,21,639,240,{w});
  689.     mclose(1);
  690.     madd(memono+1,{});
  691.     mclear(memono+1);
  692.     mopen(memono+1,0,241,639,459,{w});
  693.     };
  694. /*    アップ文書作成をキャンセルする    */
  695. %cancel    {
  696.     SNDMSG({kaknin_f.snd});footnote({作成中の文書を取消しますか?});
  697.     select({作成中の文書を取消しますか?},
  698.         Wtime4,{footnote({});im({Yes})},
  699.         {  は  い  },
  700.         {
  701.         InactMemo;
  702.         dispoff(!DEBUG);
  703.         delfile(TEMP2|{_mopmemo.bak});
  704.         dispoff({No});
  705.         mwrite(TEMP2|{_mopmemo.bak},memono+1);
  706.         mopen(memono,0,21,639,459,{w});
  707.         footnote({});
  708.         im({No})},
  709.         {  いいえ  },{footnote({});im({Yes})}
  710.         );
  711.     };
  712. /*    アップ用文書を清書する    */
  713. %rewrite{
  714.     footnote({メモ}|memono+1|{を清書しています});
  715.     InactMemo;
  716.     %cdir @getcdir;
  717.     setcdir(CDIR);
  718.     dispoff(!DEBUG);
  719.     delfile(TEMP2|{_moptext.tmp});
  720.     delfile(TEMP2|{_moptext.new});
  721.     mwrite(TEMP2|{_moptext.tmp},memono+1);
  722.     command({txf -f -i }|TEMP2|{_moptext.tmp -o }|TEMP2|{_moptext.new });
  723.     dispoff({No});
  724.     case    (@filechk(TEMP2|{_moptext.new}),
  725.         {Yes},
  726.         {
  727.         mclear(memono+1);
  728.         mread(TEMP2|{_moptext.new},memono+1);
  729.         mopen(memono,0,21,639,240,{w});
  730.         %memomax    @mlast;
  731.         var    memono1    [2];
  732.         memono1:=memono+2;
  733.         loop    ({
  734.             case(memono1<=memomax,{Yes},{mclose(1);mopen(memono1)});
  735.             memono1:=memono1+1;
  736.             im(memono1<=memomax);
  737.             });
  738.         mclose(1);
  739.         mopen(memono+1,0,241,639,459,{w});
  740.         },
  741.         {No},
  742.         {
  743.         display({清書機能には TXF.EXE がパスの通った}|
  744.             {ディレクトリに必要です\n});
  745.         wait(2);
  746.         mopen(memono,0,21,639,240,{w});
  747.         %memomax    @mlast;
  748.         var    memono1    [1];
  749.         memono1:=memono+2;
  750.         loop    ({
  751.             case(memono1<=memomax,{Yes},{mclose(1);mopen(memono1)});
  752.             memono1:=memono1+1;
  753.             im(memono1<=memomax);
  754.             });
  755.         mclose(1);
  756.         mopen(memono+1,0,181,639,459,{w});
  757.         });
  758.     setcdir(cdir);
  759.     im({Yes});
  760.     };
  761. /*    他のファイルを参照するためにメモを開く    */
  762. %newmemo{
  763.     case    (@mlast==9,
  764.         {Yes},
  765.         {
  766.         footnote({メモ番号が一杯のため、新しいメモが開けません});
  767.         wait(2);
  768.         },
  769.         {No},
  770.         {
  771.         case(@mcheck!=0,{Yes},{mclose(1)});
  772.         %memono    @mlast+1;
  773.         madd(memono,{\n});
  774.         mclear(memono);
  775.         %file1    @filesel;
  776.         case    (file1<>{}&&@filechk(file1),
  777.             {Yes},{mread(file1,memono)}
  778.             );
  779.         mopen(memono,0,161,639,379);
  780.         });
  781.     im({Yes});
  782.     };
  783. /* 伝言板(時差チャット)へのコメント作成処理 */
  784. %Gather{
  785.     %savememo{
  786.         case(@mcheck!=0,{Yes},{mclose(1)});
  787.         mwrite(UP2|{\DENGO},memono+1);
  788.         case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  789.         InactMemo;mopen(memono,0,21,639,459,{w});im({No})
  790.         };
  791.     footnote({伝言板へのコメントを作成します});
  792.         MAKEcom;
  793.     };
  794. /* 『最後の一言』へのコメント作成処理 */
  795. %LastWard{
  796.         %LASTset{
  797.         case(@filechk(UP2|{\SAIGO}),
  798.         {Yes},{delfile(UP2|{\SAIGO});write(UP2|{\SAIGO},sai)},
  799.         {No},{write(UP2|{\SAIGO},sai)})};
  800.     footnote({注意;この機能はKMF版 RTBBS-NETのみ有効です});
  801.     %a    @plane(    {c最後の一言へのコメントをして下さい\n}|
  802.     {tコメント/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}|
  803.             {s              / 登録 / 取消 \n},
  804.                 );
  805. %sai    @head(@getline(a,1,1),{\n});%ok    @head(@getline(a,2,1),{\n});
  806.         case    (ok==1,{Yes},
  807.             {footnote({最後の一言へのコメントを作成します});
  808.             LASTset})
  809.     };
  810. /* ボードへのコメント作成処理 */
  811. %resMES    {
  812.     %c1 @case(@nochar(l4)-11<=0,{Yes},{im(1)},{No},{im(@nochar(l4)-11)});
  813.     %savememo{
  814.         %cdir    @getcdir;setcdir(CDIR);
  815.         %mes    @tail(l2,{#},{)});
  816.         %reply    @body(l3,{:},{/});
  817.         %title    @tail(@getchar(l4,11,c1),{]:});
  818.         %resp    @head(@head(l1,{: },{ [}),{ });
  819.         SNDMSG({nyuryo_f.snd});
  820.         %a    @plane(
  821.             {cボードへのコメント\n}|
  822.             {tネット名  /xxxxxxxx\n}|
  823.             {cSIGボードの場合はネット名の代わりに\n}|
  824.             {cパスワードを入力して下さい\n}|
  825.             {tボード番号  /xxxx\n}|
  826.             {tコメント元番号/xxxx\n}|
  827.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  828.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  829.             {s              / 登録 / メール  / 取消 \n}|
  830.             {c\n}|
  831.             {cメールを送付処理”タイトルの入力を忘れずに”\n}|
  832.             {tメール宛先    /xxxxxxxxx\n},
  833.             @SCANPW(mes),mes,reply,title,resp);
  834.     %forum    @head(@getline(a,1,1),{\n});
  835.     %mes    @head(@getline(a,2,1),{\n});
  836.     %reply    @head(@getline(a,3,1),{\n});
  837.     %title    @head(@getline(a,4,1),{\n});
  838.     %ok    @head(@getline(a,5,1),{\n});
  839.     %resp    @head(@getline(a,6,1),{\n});
  840.     case    (ok,
  841.         { 1},
  842.         {
  843.         footnote({ボードへのコメントを作成します});
  844.         %file1    @crefile(UP,{res});
  845.         case(@mcheck!=0,{Yes},{mclose(1)});
  846.         mwrite(UP2|file1,memono+1);
  847.         mopen(memono+1,0,241,639,459,{w});
  848.         %res1    {forum=}|forum|{;}|{mes=}|mes|{;}|{reply=}|reply|{;}|                {file=}|UP2|file1|{;}|{title=}|title|CRLF;
  849.         write(UP2|{_mopres.ctl},res1);
  850.         case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  851.         mclose(3);
  852.         InactMemo;
  853.         mopen(memono,0,21,639,459,{w});
  854.         im({No});
  855.         },
  856.         { 2},
  857.         {
  858.         footnote({発言者へのメールを作成します});
  859.         %file1    @crefile(UP,{res});
  860.         case(@mcheck!=0,{Yes},{mclose(1)});
  861.         mwrite(UP2|file1,memono+1);
  862.         mopen(memono+1,0,241,639,459,{w});
  863.         %res1    {mail=}|resp|{;}|{date=;}|
  864.             {file=}|UP2|file1|{;}|{title=}|title|CRLF;
  865.         write(UP2|{_mopres.ctl},res1);
  866.         case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  867.         mclose(3);
  868.         InactMemo;
  869.         mopen(memono,0,21,639,459,{w});
  870.         im({No});
  871.         },
  872.         { 3},{im({Yes})},
  873.         ,{im({Yes})})};
  874.         MAKEcom;
  875.     };
  876. /* ボードへの新規発言作成処理 */
  877. %sayMES    {[memono,mesno]
  878.     %savememo{
  879.         SNDMSG({nyuryo_f.snd});
  880.         %a    @plane(    {cボードへの新規発言\n}|
  881.                 {tネット名  /xxxxxxxx\n}|
  882.                 {cSIGボードの場合はネット名の代わりに\n}|
  883.                 {cパスワードを入力して下さい\n}|
  884.                 {tボード番号    /xxxxx\n}|
  885.                 {tタイトル      /xxxxxxxxxxxxxxxxxxxxxxx}|
  886.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  887.                 {s              / 登録 / 取消 \n},
  888.                 @SCANPW(mesno),mesno,
  889.                 );
  890. %forum    @head(@getline(a,1,1),{\n});    %mes    @head(@getline(a,2,1),{\n});
  891. %title    @head(@getline(a,3,1),{\n});    %ok    @head(@getline(a,4,1),{\n});
  892.     case    (ok==1,{Yes},{footnote({ボードへの新規発言を作成します});
  893.         %file1    @crefile(UP,{res});
  894.         case(@mcheck!=0,{Yes},{mclose(1)});
  895.         mwrite(UP2|file1,memono+1);
  896.         mopen(memono+1,0,241,639,459,{w});
  897.         %res1    {forum=}|forum|{;}|{mes=}|mes|{;}|{reply=;}|
  898.             {file=}|UP2|file1|{;}|{title=}|title|CRLF;
  899.         write(UP2|{_mopres.ctl},res1);
  900.         case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  901.         mclose(3);
  902.         InactMemo;
  903.         mopen(memono,0,21,639,459,{w});
  904.         im({No})},
  905.         {No},{im({Yes})})};
  906.         MAKEcom;
  907.     };
  908. /* メールへの返信作成処理 */
  909. %resMAIL{[memono]
  910.     %savememo{
  911.         %c1    @case    (@nochar(l4)-10<=0,
  912.                 {Yes},{im(1)},{No},{im(@nochar(l4)-10)});
  913.         SNDMSG({nyuryo_f.snd});
  914.         %a    @plane(    {cメールの返信\n}|
  915.                 {t  送信先ID  /xxxxxxxxx\n}|
  916.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  917.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  918.                 {s              / 登録 / 取消 \n},
  919.                 @head(@head(l1,{: },{ [}),{ }),
  920.                 {re*}|@head(@getchar(l4,11,c1),{\n})
  921.                 );
  922.     %mail    @head(@getline(a,1,1),{\n});
  923.     %title    @head(@getline(a,2,1),{\n});
  924.     %ok    @head(@getline(a,3,1),{\n});
  925.     case    (ok,
  926.         { 1},
  927.         {footnote({メールの返信を作成します});
  928.         %file1    @crefile(UP,{res});
  929.         case(@mcheck!=0,{Yes},{mclose(1)});
  930.         mwrite(UP2|file1,memono+1);
  931.         mopen(memono+1,0,241,639,459,{w});
  932.         %res1    {mail=}|mail|{;}|{file=}|UP2|file1|{;}|
  933.                 {title=}|title|CRLF;
  934.         write(UP2|{_mopres.ctl},res1);
  935.         case(@mcheck!=memono+1,{Yes},{mopen(memono+1)});
  936.         mclose(3);InactMemo;mopen(memono,0,21,639,459,{w});
  937.         im({No})
  938.         },
  939.         { 2},{im({Yes})}
  940.         ,{im({Yes})}
  941.         )};
  942.         MAKEcom;
  943.     };
  944.  
  945. /* DLIBからのダウンロード制御文作成処理 */
  946. %downDLIB{[LibNo,PASS,name]
  947.     display(PASS);
  948.     var DataFile[64];
  949.     var DocFile[64];
  950.     var forum[8];    var libno[4];    var dataname[12];    
  951.     var datafile[64];var docfile[64];
  952.     case    (@nochar(FSW),
  953.         0,
  954.         {
  955.         DataFile:=LOG2|{FREESOFT\}|name;
  956.         DocFile    :=LOG2|{FREESOFT\}|@body(name,,{.})|{.ggg};
  957.         },
  958.         3,
  959.         {
  960.         DataFile:=FSW|name;
  961.         DocFile    :=FSW|@body(name,,{.})|{.ggg};
  962.         },
  963.         ,
  964.         {
  965.         DataFile:=FSW|{\}|name;
  966.         DocFile    :=FSW|{\}|@body(name,,{.})|{.ggg};
  967.         });
  968.     loop    ({SNDMSG({nyuryo_f.snd});
  969.         %a    @plane(    {cデータライブラリからのダウンロード\n}|
  970.                 {t ネット名 /xxxxxxxx\n}|
  971.                 {cSIGボードの場合はネット名の代わりに\n}|
  972.                 {cパスワードを入力して下さい\n}|
  973.                 {tライブラリ番号/xxxx\n}|
  974.                 {tデータ名称/xxxxxxxxxxxx\n}|
  975.                 {tダウンロードファイル/\n}|
  976.                 {t 概要ファイル /\n}|
  977.                 {s              / 登録 / 取消 \n},
  978.                 PASS,LibNo,name,DataFile,DocFile);
  979.         forum:=    @head(@getline(a,1,1),{\n});
  980.         libno:=    @head(@getline(a,2,1),{\n});
  981.         dataname:=@head(@getline(a,3,1),{\n});
  982.         datafile:=@head(@getline(a,4,1),{\n});
  983.         docfile:=@head(@getline(a,5,1),{\n});
  984.         %ok @head(@getline(a,6,1),{\n});
  985.     case    (ok,
  986.         { 1},
  987.             {case((datafile={}||@getchar(datafile,2,2)={:\})&&
  988.                  @getchar(docfile,2,2)={:\},
  989.             {No},
  990.             {display({ファイル名はドライブ名からの}|
  991.             {パスで指定してください});im({Yes})},
  992.             {Yes},
  993.                 {
  994.                 case    (@filechk(datafile)||datafile=docfile,
  995.                     {Yes},
  996.                     {footnote({データファイル名が重複して}|
  997.                     {います});                                    wait(2);
  998.                     im({Yes})
  999.                     },
  1000.                     {No},
  1001.                     {
  1002.                     case    (forum<>{} && libno<>{} &&
  1003.                     dataname<>{} && datafile<>{},
  1004.                     {Yes},
  1005.                     {
  1006.                     footnote({制御文を登録します});
  1007.                     write(UP2|{_mopdlib.ctl},
  1008.                         {forum=}|forum|{;}|
  1009.                         {libno=}|libno|{;}|
  1010.                         {dataname=}|dataname|{;}|
  1011.                         {docfile=}|docfile|{;}|
  1012.                         {datafile=}|datafile|{;\n});
  1013.                     case    (@mcheck!=memono,
  1014.                         {Yes},{mopen(memono)}
  1015.                         );im({No});
  1016.                     },
  1017.                     {No},{im({Yes})})
  1018.                     });
  1019.                 });
  1020.             },
  1021.             { 2},{im({No})},,
  1022.             )});
  1023.     im({Yes})};
  1024. /* NAPLPSファイル表示処理 */
  1025. %ViewNAP{[file,memono]
  1026.     InactMemo;
  1027.     naplps(file);
  1028.     footnote({終了再現},{b});
  1029.     loop    ({
  1030.         waitx();
  1031.         case    (@xtype,
  1032.             101,
  1033.             {
  1034.             napend;
  1035.             footnote({});
  1036.             mopen(memono,0,21,639,459,{w});
  1037.             im({No});
  1038.             },
  1039.             201,
  1040.             {
  1041.             napend;
  1042.             footnote({});
  1043.             mopen(memono,0,21,639,459,{w});
  1044.             im({No});
  1045.             },
  1046.             102,{napend;naplps(file);im({Yes})},
  1047.             202,{napend;naplps(file);im({Yes})},
  1048.             ,{im({Yes})}
  1049.             );
  1050.         });
  1051.     im({Yes});
  1052.     };
  1053. %SETDIR    {
  1054.     footnote({参照するログファイルのディレクトリを指定してください});
  1055.     SNDMSG({erande_f.snd});
  1056.     case    (RTTLC<>{},
  1057.         {Yes},
  1058.         {
  1059.         case    (VIEWLOG={},
  1060.             {Yes},
  1061.             {
  1062.             select({参照するログディレクトリは?},
  1063.                 Wtime4,{im(LOG)},
  1064.                 LOG,{Btitle:={No};im(LOG)},
  1065.                 {ボードタイトルから選択},
  1066.                     {Btitle:={Yes};im(LOG2|{board})},
  1067.                 {RTTLC出力ディレクトリ},{im(RTTLdir)},
  1068.                 {一時的に指定},
  1069.                 {
  1070.                 footnote({指定するディレクトリへ移動して}|
  1071.                     {右クリックしてしてください});
  1072.                 SNDMSG({erande_f.snd});
  1073.                 filesel;
  1074.                 VIEWLOG:=@getcdir;
  1075.                 im(@getcdir);
  1076.                 });
  1077.             },
  1078.             {No},
  1079.             {
  1080.             select({参照するログディレクトリは?},
  1081.                 Wtime4,{im(LOG)},
  1082.                 LOG,{Btitle:={No};im(LOG)},
  1083.                 {ボードタイトルから選択},
  1084.                     {Btitle:={Yes};im(LOG2|{board})},
  1085.                 {RTTLC出力ディレクトリ},{im(RTTLdir)},
  1086.                 VIEWLOG,{im(VIEWLOG)},
  1087.                 {一時的に指定},
  1088.                 {
  1089.                 footnote({指定するディレクトリへ移動して}|
  1090.                     {右クリックしてしてください});
  1091.                 SNDMSG({erande_f.snd});
  1092.                 filesel;
  1093.                 im(@getcdir);
  1094.                 });
  1095.             });
  1096.         },
  1097.         {No},
  1098.         {
  1099.         case    (VIEWLOG={},
  1100.             {Yes},
  1101.             {
  1102.             select({参照するログディレクトリは?},
  1103.                 Wtime4,{im(LOG)},
  1104.                 LOG,{Btitle:={No};im(LOG)},
  1105.                 {ボードタイトルから選択},
  1106.                     {Btitle:={Yes};im(LOG2|{board})},
  1107.                 {一時的に指定},
  1108.                 {
  1109.                 footnote({指定するディレクトリへ移動して}|
  1110.                     {右クリックしてしてください});
  1111.                 SNDMSG({erande_f.snd});
  1112.                 filesel;
  1113.                 VIEWLOG:=@getcdir;
  1114.                 im(@getcdir);
  1115.                 });
  1116.             },
  1117.             {No},
  1118.             {
  1119.             select({参照するログディレクトリは?},
  1120.                 Wtime4,{im(LOG)},
  1121.                 LOG,{Btitle:={No};im(LOG)},
  1122.                 {ボードタイトルから選択},
  1123.                     {Btitle:={Yes};im(LOG2|{board})},
  1124.                 VIEWLOG,{im(VIEWLOG)},
  1125.                 {一時的に指定},
  1126.                 {
  1127.                 footnote({指定するディレクトリへ移動して}|
  1128.                     {右クリックしてしてください});
  1129.                 SNDMSG({erande_f.snd});
  1130.                 filesel;
  1131.                 im(@getcdir);
  1132.                 });
  1133.             });
  1134.         });
  1135.     };
  1136. /* 受信ログ参照処理メイン */
  1137. var    fn    [64];
  1138. var    l1    [82];
  1139. var    l2    [82];
  1140. var    l3    [82];
  1141. var    l4    [82];
  1142. var    l5    [82];
  1143. var    DOCFILE    [64];
  1144. var    DATAFILE[64];
  1145. var    LOGFILE    [64];
  1146. var    FLG    [6];
  1147.  
  1148. var    LineNo    [6];
  1149. var    MemoLine[6];
  1150. var    line1    [128];
  1151. var    file1    [64];
  1152.  
  1153. FLG:={};
  1154. footnote({受信ログを参照します});
  1155. %memono    @mlast+1;
  1156. case    (memono>5,
  1157.     {No},{ViewLOG(@SETDIR,memono)},
  1158.     {Yes},{SNDMSG    ({kaknin_f.snd});
  1159.     select    ({メモ5-9の内容が消去されます  よろしいですか?},
  1160.         Wtime4,,
  1161.         { は い },{ViewLOG(@SETDIR,5)},
  1162.         { いいえ },
  1163.         );
  1164.     });